An Imperative Language with Read/Write Type Modes
نویسنده
چکیده
Reading and writing of data is fundamental in computing, as is its control. However control of reading and writing has traditionally only been available at the level of le systems, and not programming language data structures. In this paper a simple imperative language is described which uses type modes to control reading and writing of data. A type may be labelled read-write or read-only; a read-only type is guaranteed by the type system not to be written. Furthermore a read-write type may be treated read-only in a sub-context. To achieve this implicit aliasing is prevented and the program heap is partitioned into collections. Collections form a unit of read-write control of heap allocated data, by isolating diierent heap regions. Collections were originally introduced in the Euclid and Turing programming languages for aliasing control; however this was rather restrictive and not strictly enforced. Controlling aliasing is beneecial in its own right since aliasing is a common source of programming errors.
منابع مشابه
A Sub-threshold 9T SRAM Cell with High Write and Read ability with Bit Interleaving Capability
This paper proposes a new sub-threshold low power 9T static random-access memory (SRAM) cell compatible with bit interleaving structure in which the effective sizing adjustment of access transistors in write mode is provided by isolating writing and reading paths. In the proposed cell, we consider a weak inverter to make better write mode operation. Moreover applying boosted word line feature ...
متن کاملHLCL'98 to appear A Concurrent Object Calculus: Reduction and Typing
We obtain a new formalism for concurrent object-oriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from the -calculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it uni es notions of expression, process, store, thread, and con guration. We present a chemical-s...
متن کاملThe Constraint Imperative Programming Language Turtle
The goal of declarative programming is to provide languages and implementations which let the programmer write programs by specifying what the properties of the desired solutions should be. In imperative languages, the calculation steps leading to the solutions must be programmed explicitly. The programming language Turtle combines traditional imperative language constructs and declarative cons...
متن کاملChecking Interference with Fractional Permissions
We describe a type system for checking interference using the concept of linear capabilities (which we call “permissions”). Our innovations include the concept of “fractional” permissions: reads can be permitted with fractional permissions whereas writes require complete permissions. This distinction expresses the fact that reads on the same state do not conflict with each other. One may give s...
متن کاملA Concurrent Object Calculus: Reduction and Typing
We obtain a new formalism for concurrent object-oriented languages by extending Abadi and Cardelli’s imperative object calculus with operators for concurrency from the -calculus and operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it unifies notions of expression, process, store, thread, and configuration. We present a chemical-styl...
متن کامل